﻿using Dapper.Contrib.Extensions;
using IntelligentGateway.Model.Attribute;
using IntelligentGateway.Model.Interface;
using System;
using System.Collections.Generic;

using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace IntelligentGateway.Model
{
    [Serializable]
    [Table("SignalPoint")]
    public class SignalPoint : IBase
    {
        [Key]
        public int ID { get; set; }
        public string Name { get; set; }
        public string NO { get; set; }
        public string RSL { get; set; }
        public int FloorID { get; set; }
        public int TypeID { get; set; }
        public string RecordValue { get; set; }
        public string AuthorizeValue { get; set; }
        public string DeviceNO { get; set; }
        public string DFloorID { get; set; }
        [Write(false)]
        [Ignore]
        public int? TotalRecords { get; set; }
    }

    public class SignalPointClear : IBase
    {
        [Key]
        public int ID { get; set; }
        public string RSL { get; set; }
        public int FloorID { get; set; }
        public int TypeID { get; set; }
        public string RecordValue { get; set; }
        public string AuthorizeValue { get; set; }
        public DateTime ClearTime { get; set; }
        public int deviceid { get; set; }
        public string deviceip { get; set; }
        public int AuthorizeType { get; set; }
        [Write(false)]
        [Ignore]
        public int? TotalRecords { get; set; }
    }

    public class CEMS_Cmd
    {
        public int DeviceId { get; set; }//设备ID
        public int OutBoundType { get; set; }//外呼类型，1=上行，2=下行,4=后门上行，5=后门下行
        public int OutBoundPFloor { get; set; }//外呼物理楼层
        public string OutBoundDFloor { get; set; }//外呼显示楼层
        public int InBoundPFloor { get; set; }//内呼物理楼层
        public string InBoundPFloorIds { get; set; }//内呼物理楼层数组
        public string InBoundDFloor { get; set; }//内呼显示楼层
        public int InBoundType { get; set; }//类型
        public int IsAuthorize { get; set; }//1=授权,2=点亮
        public int AuthorizeType { get; set; }//授权类型1=轿厢,2=门口机,3=室内机
        public DateTime SendTime { get; set; }//发送时间
    }
}
